package com.gljx.web.service;

import java.util.List;
import java.util.Map;

import com.gljx.web.Entity.TimingChargeEntry;
import com.gljx.web.Entity.TrainCharge;
import com.gljx.web.Entity.TrainChargeEntry;

public interface TimingChargeService {
	Map<String, Object> selectPageCount(String psql);

    Map<String, Object> selectPage(int pindex, String psql, int psize);
    
    
    
    
	/**
	 * 添加计时收费单据
	 * @param trainCharge 父类信息 
	 * @param fseq 序列
	 * @param cfstudentno 学员编码
	 * @param cfstudentname 学员姓名
	 * @param cfsex 性别
	 * @param cfidcardno 学员身份证号
	 * @param cftjr 推荐人
	 * @param cfclazz 班级
	 * @param cfclazzamount 班级金额
	 * @param cfyishou 已收
	 * @param cfysje 应收
	 * @param cfguifei 规费
	 * @param cfpxf 培训费
	 * @param cfcash 现金
	 * @param cfcard 刷卡
	 * @param cfguazhang 挂账
	 * @param cfyhzz 银行转账
	 * @param cfshje 实收金额
	 * @param cfyhje 优惠金额
	 * @param cfyhj 优惠券
	 * @param cfqfje 欠费金额
	 * @param cfremark 备注
	 */
	void addTimingCharge(TrainCharge trainCharge,String fseq[], String cfstudentno[],String cfstudentid[],String cfsex[],String cfidcardno[],String cfidcardaddress[],
			String cftjr[],String cfclazz[], String cfclazzamount[],String cfyishou[], String cfysje[], String cfguifei[], String cfpxf[], 
			String cfcash[], String cfcard[], String cfguazhang[], String trainObject[], String timingStartTime[], String timingEndTime[], String cfyhzz[],String cfshje[],String cfyhje[],String cfyhj[],String cfqfje[],String cfremark[],
			String cfsubject[],String cfcoachname[], String cfbegimtime[],String cfendtime[],String cfstudentname[]);

	
	/**
	 * 根据主键查询单据
	 * @param fid
	 * @return
	 */
	TrainCharge queryByTrainChargeFid(String fid);

	/**
	 * 
	 * @param trainCharge 父类信息 
	 * @param fseq 序列
	 * @param cfstudentno 学员编码
	 * @param cfstudentname 学员姓名
	 * @param cfsex 性别
	 * @param cfidcardno 学员身份证号
	 * @param cftjr 推荐人
	 * @param cfclazz 班级
	 * @param cfclazzamount 班级金额
	 * @param cfyishou 已收
	 * @param cfysje 应收
	 * @param cfguifei 规费
	 * @param cfpxf 培训费
	 * @param cfcash 现金
	 * @param cfcard 刷卡
	 * @param cfguazhang 挂账
	 * @param cfyhzz 银行转账
	 * @param cfshje 实收金额
	 * @param cfyhje 优惠金额
	 * @param cfyhj 优惠券
	 * @param cfqfje 欠费金额
	 * @param cfremark 备注
	 */
	void modifyTimingCharge(TrainCharge trainCharge,String fseq[], String cfstudentno[],String cfstudentid[],String cfsex[],String cfidcardno[],String cfidcardaddress[],
			String cftjr[],String cfclazz[], String cfclazzamount[],String cfyishou[], String cfysje[], String cfguifei[], String cfpxf[], 
			String cfcash[], String cfcard[], String cfguazhang[], String cfyhzz[],String cfshje[],String cfyhje[],String cfyhj[],String cfqfje[],String cfremark[],
			String cfsubject[],String cfcoachname[], String cfbegimtime[],String cfendtime[],String cfstudentname[]);

	
	
	void auditTrainCharge(List<TimingChargeEntry> timingChargeEntries, TrainCharge trainCharge);

	
	
	void updateTimingCharge(TrainCharge trainCharge);
	

	TrainCharge selectSystemParamByName(String paramId);
}
